/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package air_hockey_v2.gui;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

/**
 *
 * @author cooler
 */
public class MenuPrincipal extends JFrame {

    private Imagem fundo = new Imagem("/images/airhockey.jpg", 0, 0);
    private Imagem bJogar = new Imagem("/images/jogarB.png", 287, 208);
    private Imagem bDificuldade = new Imagem("/images/dificuldadeB.png", 287, 258);
    private Imagem bPontuacoes = new Imagem("/images/pontuacoesB.png", 287, 308);
    private Imagem bCreditos = new Imagem("/images/creditosB.png", 287, 358);
    private Imagem bSair = new Imagem("/images/sairB.png", 287, 408);
    private Som som = new Som("/sons/menu.wav");
    private int difi = 1;

    public MenuPrincipal() {
        this.setSize(800, 600);
        this.setResizable(false);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);

        JPanel painel = new JPanel() {
            /* Override da função paintComponent para desenhar a imagem no fundo */
            @Override
            public void paintComponent(Graphics g) {
                super.paintComponent(g);

                fundo.draw(g);
                bJogar.draw(g);
                bDificuldade.draw(g);
                bPontuacoes.draw(g);
                bCreditos.draw(g);
                bSair.draw(g);
            }
        };

        som.loop();

        painel.addMouseListener(new OuvinteMouse());
        this.getContentPane().add(painel);
        painel.setBackground(Color.GRAY);

    }

    private class OuvinteMouse extends MouseAdapter {

        @Override
        public void mouseClicked(MouseEvent e) {
            int x = e.getX(), y = e.getY();
            if (x >= 287 && x <= 513) {
                if (y >= bJogar.getY() && y <= (bJogar.getY() + bJogar.getHeight())) {
                    /* Inicia novo jogo */
                    JogoFrame f = new JogoFrame(difi);
                    f.setVisible(true);
                }
                if (y >= bDificuldade.getY() && y <= (bDificuldade.getY() + bDificuldade.getHeight())) {
                    /* Defini a dificuldade do jogo */
                    String levels[] = {"1", "2", "3", "4", "5", "6", "7", "8"};
                    JComboBox box = new JComboBox(levels);
                    JOptionPane.showMessageDialog(rootPane, box, "Dificuldade", JOptionPane.PLAIN_MESSAGE);
                    difi = box.getSelectedIndex() + 1;
                }
                if (y >= bPontuacoes.getY() && y <= (bPontuacoes.getY() + bPontuacoes.getHeight())) {
                    /* Acessa a últimas pontuações */
                    Pontuacoes p = new Pontuacoes();
                    p.setVisible(true);
                }
                if (y >= bCreditos.getY() && y <= (bCreditos.getY() + bCreditos.getHeight())) {
                    /* Acessa os créditos do jogo */
                    Creditos c = new Creditos();
                    c.setVisible(true);
                }
                if (y >= bSair.getY() && y <= (bSair.getY() + bSair.getHeight())) {
                    /* Finaliza o jogo */
                    dispose();
                    som.stop();
                }
            }
        }
    }
}
